package com.dearbinge.data.dao.im;

import com.baomidou.mybatisplus.plugins.Page;
import com.dearbinge.data.pojo.im.ImUserContact;
import com.dearbinge.data.pojo.im.vo.ImUserContactVO;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 用户联系人dao
 *
 * @author wes
 * @date 2019/2/27
 */
@Mapper
public interface ImUserContactMapper {

    /**
     * 删除
     * @param id id
     * @return 结果
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 插入
     * @param imUserContact 实体类
     * @return 结果
     */
    int insert(ImUserContact imUserContact);

    /**
     * 根据id查询
     * @param id 关系id
     * @return 实体对象
     */
    ImUserContact getByPrimaryKey(Integer id);

    /**
     * 更新
     * @param imUserContact 实体类
     * @return 结果
     */
    int update(ImUserContact imUserContact);

    /**
     * 根据用户id和好友id查询
     * @param userId 用户id
     * @param friendId 好友id
     * @return 对象
     */
    ImUserContact getContact(@Param("userId") Integer userId,@Param("friendId") Integer friendId);


    /**
     * 根据用户ID查询好友列表 分页
     * @param userId 用户id
     * @param page 分页
     * @return 好友列表
     */
    List<ImUserContactVO> listByUserId(@Param("userId") Integer userId, Page page);

    /**
     * 统计根据用户ID查询好友列表
     * @param userId 用户id
     * @return 总数
     */
    Integer countByUserId(Integer userId);

    String getIsHailFellow(@Param("userId") String userId,@Param("fellowId") String fellowId);
}